Option Explicit On 
Option Strict On

Imports System
Imports System.Collections

Public Class AttribDomain_Enum

    Private sEDValue As String = ""
    Private sEDVDef As String = ""
    Private sEDVDefSource As String = ""
    Private cMoreAttribs As New Collection 'collection of integers = index values of associated attributes

    Public Sub New()
        MyBase.new()
    End Sub

    Public Function Duplicate() As AttribDomain_Enum
        Dim newDomainEnum As AttribDomain_Enum = New AttribDomain_Enum()
        newDomainEnum.DomainValue = sEDValue
        newDomainEnum.ValueDef = sEDVDef
        newDomainEnum.DefSource = sEDVDefSource
        Return newDomainEnum
    End Function

    Public Sub Clear()
        sEDValue = ""
        sEDVDef = ""
        sEDVDefSource = ""
        cMoreAttribs.Clear()
    End Sub

    Public Property DomainValue() As String
        Get
            DomainValue = sEDValue
        End Get
        Set(ByVal Value As String)
            sEDValue = Value
        End Set
    End Property

    Public Property ValueDef() As String
        Get
            ValueDef = sEDVDef
        End Get
        Set(ByVal Value As String)
            sEDVDef = Value
        End Set
    End Property

    Public Property DefSource() As String
        Get
            DefSource = sEDVDefSource
        End Get
        Set(ByVal Value As String)
            sEDVDefSource = Value
        End Set
    End Property

    Public Property MoreAttributes() As Collection
        Get
            MoreAttributes = cMoreAttribs
        End Get
        Set(ByVal Value As Collection)
            cMoreAttribs = Value
        End Set
    End Property

End Class
